using System;
using System.CodeDom.Compiler;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Xml.Serialization;


namespace YF.OneNote.DataTypes
{
  [GeneratedCode("xsd", "2.0.50727.1432")]
  [Serializable]
  
  [DesignerCategory("code")]
  [XmlType(Namespace = "http://schemas.microsoft.com/office/onenote/2007/onenote")]
  [XmlRoot(Namespace = "http://schemas.microsoft.com/office/onenote/2007/onenote", IsNullable = false)]
  public partial class Section: NotesHierarchyNode
  {
    #region Fields



    private readonly NotesNodeCollection<Page> _pages = new NotesNodeCollection<Page>();
    private bool _areAllPagesAvailable;
    private string _color;
    private bool _encrypted;
    private bool _isCurrentlyViewed;
    private bool _locked;
    private string _path;
    private bool _readOnly;



    #endregion

    #region Properties/Indexers



    [XmlAttribute("areAllPagesAvailable")]
    [DefaultValue(true)]
    public bool AreAllPagesAvailable
    {
      get
      {
        return _areAllPagesAvailable;
      }
      set
      {
        _areAllPagesAvailable = value;
      }
    }


    [XmlAttribute("color")]
    [DefaultValue("automatic")]
    public string Color
    {
      get
      {
        return _color;
      }
      set
      {
        _color = value;
      }
    }


    [XmlAttribute("encrypted")]
    [DefaultValue(false)]
    public bool Encrypted
    {
      get
      {
        return _encrypted;
      }
      set
      {
        _encrypted = value;
      }
    }


    [XmlAttribute("isCurrentlyViewed")]
    [DefaultValue(false)]
    public bool IsCurrentlyViewed
    {
      get
      {
        return _isCurrentlyViewed;
      }
      set
      {
        _isCurrentlyViewed = value;
      }
    }


    [XmlAttribute("locked")]
    [DefaultValue(false)]
    public bool Locked
    {
      get
      {
        return _locked;
      }
      set
      {
        _locked = value;
      }
    }


    [XmlElement("Page")]
    public NotesNodeCollection<Page> Pages
    {
      get
      {
        return _pages;
      }
    }


    [XmlAttribute("path")]
    public string Path
    {
      get
      {
        return _path;
      }
      set
      {
        _path = value;
      }
    }


    [XmlAttribute("readOnly")]
    [DefaultValue(false)]
    public bool ReadOnly
    {
      get
      {
        return _readOnly;
      }
      set
      {
        _readOnly = value;
      }
    }



    #endregion

#if GENERATOR
    protected override bool UpdateSpecificContents(NotesHierarchyNode node, List<INotesChange> changes)
    {
      throw new NotImplementedException();
    }
#endif
  }
}